#pragma once

#include "IAutomat.h"
#include "IState.h"
#include "States.h"
#include "IScanner.h"

class AutomatVar1 : public IAutomat
{
    IState* currentState;
    IScanner* scanner;

public:
    AutomatVar1(IScanner* scanner);
    virtual ~AutomatVar1(void);

    //inherited from IAutomat
    virtual void readChar(char c);
    virtual void setCurrentState(IState* state);
    virtual void mkToken(TType type, long long value, unsigned int row, unsigned int col);
    virtual void ungetChar(int times);
    virtual void stop();
    virtual void putCharForInteger(char c);//from clgr
    virtual void putCharForIdentifier(char c);//from clgr
    virtual unsigned int getRow();//from clgr
    virtual unsigned int getCol();//from clgr
    virtual void error();
};

